import 'package:flutter/material.dart';
import 'package:videotop/jsonbean/login_bean.dart';
import 'package:videotop/myinfo.dart';
import 'package:videotop/util.dart';
import 'package:videotop/widget/home.dart';
import 'package:videotop/widget/login_reg.dart';
import 'package:package_info/package_info.dart';
import '../base_model.dart';

/// created by hx
///    2021/1/23:14:49

class SpashModel extends BaseModel {
  BuildContext context;
  MyInfo myInfo;
  Util util;
  SpashModel(this.context,this.myInfo,this.util);
  getDeviceInfo() {
    util.init().then((value) {
      PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
        util.setPageInfo(packageInfo);
        _islogin();
      });
    });
  }

  _islogin() async {
    String logid = util.spfs.getString('logid')??'';
    String psd = util.spfs.getString('psd')??'';
    int type = util.spfs.getInt('type')??0;
    if(logid.isEmpty){
      ///跳转并关闭当前页面
      Navigator.pushAndRemoveUntil(
        context,
        new MaterialPageRoute(builder: (context) => new RegOrLogin()),
            (route) => route == null,
      );
    } else{
      LoginBean loginBean = await util.login(type,logid,psd);
      if(loginBean.status == 1){
        User user = loginBean.user;
        util.spfs.setInt('uid', user.uid);
        util.spfs.setInt('type', type);
        util.spfs.setString('logid', logid);
        util.spfs.setString('psd', psd);
        myInfo.setMyInfo(user);
        Navigator.pushAndRemoveUntil(
            context,
            new MaterialPageRoute(builder: (context) => new Home()),
                (route) => route == null);
      } else {
        ///跳转并关闭当前页面
        Navigator.pushAndRemoveUntil(
          context,
          new MaterialPageRoute(builder: (context) => new RegOrLogin()),
              (route) => route == null,
        );
      }
    }
  }

  // Future getProduct() async {
  //   final bool available = await InAppPurchaseConnection.instance.isAvailable();
  //   if (!available) {
  //     print('连接商店错误');
  //   }
  //   try {
  //     final ProductDetailsResponse response = await InAppPurchaseConnection.instance.queryProductDetails(Util.vipLists);
  //     if (response.notFoundIDs.isNotEmpty) {
  //       // Handle the error.
  //     }
  //     List<ProductDetails> products = response.productDetails;
  //
  //     for(var productDetails in products){
  //       Util.map[productDetails.id] = productDetails;
  //     }
  //     Map<String, ProductDetails> map = Util.map;
  //     Util.title1 = map[Util.IAP_KEY_v1].title;
  //     Util.title3 = map[Util.IAP_KEY_v3].title;
  //     Util.title12 = map[Util.IAP_KEY_v12].title;
  //     Util.pricev1 = double.parse(map[Util.IAP_KEY_v1].price.substring(1));
  //     Util.pricev3 = double.parse(map[Util.IAP_KEY_v3].price.substring(1));
  //     Util.pricev12 = double.parse(map[Util.IAP_KEY_v12].price.substring(1));
  //     Util.vlocalizedPricev1 = map[Util.IAP_KEY_v1].price;
  //     Util.vlocalizedPricev3 = map[Util.IAP_KEY_v3].price;
  //     Util.vlocalizedPricev12 = map[Util.IAP_KEY_v12].price;
  //     double price3 = Util.pricev1 *3;
  //     double price12 = Util.pricev1 *12;
  //     Util.savev3 = ((price3 - Util.pricev3)/price3 * 100).toInt();
  //     Util.savev12 = ((price12 - Util.pricev12)/price12 * 100).toInt();
  //   } catch (e) {
  //     print(e.toString());
  //   }
  //
  //
  //
  //   try {
  //     ProductDetailsResponse response = await InAppPurchaseConnection.instance.queryProductDetails(Util.coinsLists);
  //     List<ProductDetails> items = response.productDetails;
  //     for (var item in items) {
  //       Util.map[item.id] = item;
  //     }
  //     //打折价格
  //     Map<String, ProductDetails> map = Util.map;
  //     Util.title15 = map[Util.IAP_KEY_type1].title;
  //     Util.title45 = map[Util.IAP_KEY_type2].title;
  //     Util.title150 = map[Util.IAP_KEY_type3].title;
  //     Util.title450 = map[Util.IAP_KEY_type4].title;
  //     Util.title900 = map[Util.IAP_KEY_type5].title;
  //     Util.title1500 = map[Util.IAP_KEY_type6].title;
  //
  //     Util.vlocalizedPricec15 = map[Util.IAP_KEY_type1].price;
  //     Util.vlocalizedPricec45 = map[Util.IAP_KEY_type2].price;
  //     Util.vlocalizedPricec150 = map[Util.IAP_KEY_type3].price;
  //     Util.vlocalizedPricec450 = map[Util.IAP_KEY_type4].price;
  //     Util.vlocalizedPricec900 = map[Util.IAP_KEY_type5].price;
  //     Util.vlocalizedPricec1500 = map[Util.IAP_KEY_type6].price;
  //
  //     Util.pricev15 = double.parse(map[Util.IAP_KEY_type1].price.substring(1));
  //     Util.pricev45 = double.parse(map[Util.IAP_KEY_type2].price.substring(1));
  //     Util.pricev150 = double.parse(map[Util.IAP_KEY_type3].price.substring(1));
  //     Util.pricev450 = double.parse(map[Util.IAP_KEY_type4].price.substring(1));
  //     Util.pricev900 = double.parse(map[Util.IAP_KEY_type5].price.substring(1));
  //     Util.pricev1500 = double.parse(map[Util.IAP_KEY_type6].price.substring(1));
  //   } catch (e) {
  //     print(e.toString());
  //   }
  // }

}